import axios from 'axios';
import nProgress from 'nprogress';
import "nprogress/nprogress.css"
import { getUUID } from "@/utils/uuid_token"
import store from '@/store'

const requests = axios.create(
    {
        baseURL: "/api",
        timeout: 5000
    }
);

requests.interceptors.request.use((config) => {

    let uuid_token = getUUID();
    if (uuid_token) {
        config.headers.userTempId = uuid_token
    };
    if (store.state.user.token) {
        config.headers.token = store.state.user.token
    }
    nProgress.start();
    return config;

}
);

requests.interceptors.response.use((res) => {
    nProgress.done();
    return res.data;
}, (error) => {
    return Promise.reject(new Error('fail'));
});

export default requests;